package br.com.eventime.control;

import java.io.Serializable;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;
import javax.inject.Inject;

import br.com.eventime.component.DataModelList;
import br.com.eventime.entity.Cidade;
import br.com.eventime.entity.Estado;
import br.com.eventime.service.CidadeService;

@ManagedBean(name = "cidadeControl")
@SessionScoped
public class CidadeBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Inject
	private Cidade cidade;
	
	@EJB
	private CidadeService cidadeService;

	private DataModelList<Cidade> listCidade;
	
	public List<SelectItem> comboEstado;	
	
	public Cidade getCidade() {
		return cidade;
	}

	public void setCidade(Cidade cidade) {
		if(cidade == null) cidade = new Cidade(); 
		this.cidade = cidade;
	}

	public void setConfiguracaoService(CidadeService cidadeService) {
		this.cidadeService = cidadeService;
	}

	public void pesquisar(){
		listCidade = new DataModelList<Cidade>(cidadeService.getListCidade(cidade));
	}
	
	public String alterarCidade(){
		return "/paginas/configuracao/cidade/cidadePrincipal.xhml";
	}
	
	public String insereAltera(){
		cidadeService.insereAlteraCidade(cidade);
		cidade = new Cidade();
		pesquisar();
		return "/paginas/configuracao/cidade/cidadePrincipal.xhml";
	}
	
	public void deletaCidade(){
		cidadeService.removeCidade(cidade);
		cidade = new Cidade();
		pesquisar();
	}

	public DataModelList<Cidade> getListCidade() {
		if(listCidade == null) {
			listCidade = new DataModelList<Cidade>();
		}
		return listCidade;
	}
	
	public List<SelectItem> getComboEstado() {
		if(comboEstado == null) {
			comboEstado = cidadeService.getComboEstado();
		}		
		return comboEstado;
	}

	public void setListRamo(DataModelList<Cidade> listCidade) {
		this.listCidade = listCidade;
	}

}
